Telegram Group Search
📱 Python новости

🚀 Релизы и инструменты:
Новый модуль imath — целочисленная математика теперь встроена
Документалка о Python — история языка в формате кино

🧠 Статьи и практики:
Подводные камни работы с файлами в Linux — практичные примеры на Python
«Пять почему» — техника поиска причин ошибок, подходящая даже детям
Быстрый поиск кратчайших путей — ещё одна оптимизация на Python
PyCharm: настройка и взаимодействие — сделай IDE удобной под себя

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Предположим, что B является подклассом A. Чтобы вызвать метод __init__ в A из B, какую строку кода следует написать?

👾 — A.init(self)
👍 — B.init(self)
🥰 — A.init(B)
⚡️ — B.init(A)

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
⌨️ Топ-вакансий для питонистов за неделю

Python Developer, удалёнка

Web Scraping & Anti-Bot Engineer / Разработчик веб скрейпинг в компанию Infatica.io — от 4 000 $, гибрид (Москва)

Python/ML Lead — от 300 000 ₽, гибрид (Москва)

Junior Python Developer / Младший backend разработчик, гибрид (Москва)

Junior Developer AI — до 150 000 ₽, гибрид (Москва)

Python-разработчик — от 90 000 ₽, гибрид (Москва)

➡️ Еще больше топовых вакансий — в нашем канале Python jobs

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 PyCon US 2025 — итоги и главные доклады

Май 2025 года запомнится насыщенной конференцией PyCon US в Питтсбурге, где собрались тысячи разработчиков Python со всего мира. Вот ключевые моменты и самые интересные доклады:

🎤 Основные спикеры

Кори Доктороу — писатель и активист, выступил с важным докладом о цифровых правах и свободе программирования.
Линн Рут — инженер Spotify и преподаватель, рассказала о построении распределённых систем и инструментах для разработчиков.

🧪 Интересные сессии и мастер-классы

📝 AI Crash Course for Python Developers — обзор современных инструментов для создания ИИ-приложений на Python

📝 Building Machine Learning Pipelines with Ibis and IbisML — создание масштабируемых ML-пайплайнов

📝 Speed Up Your Code by 50x: From NumPy to JAX — оптимизация вычислений с помощью JAX

📝 Building Software on Top of Large Language Models — разработка приложений с использованием крупных языковых моделей

📝 Polars: Faster, Simpler, Smarter Python Analytics — эффективный анализ данных с Polars

📝 Analyzing Survey Data with Pandas and StatsModels — анализ опросных данных с Pandas и StatsModels

📝 Reimplementing itertools for Fun and Profit — глубокое погружение в итераторы и модуль itertools

📝 Codyssey: A Playful Control System Workshop — разработка автономных систем в игровой форме

Все записи доступны на YouTube:
👉 Полный плейлист PyCon US 2025

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🛠 Code2Tutorial — превращаем сложные репозитории в простые уроки с помощью ИИ

Знакомо ли ощущение, когда открываешь незнакомый код на GitHub и чувствуешь себя потерянным?

🔺 Code2Tutorial — это AI-агент, который автоматически анализирует весь код репозитория и создаёт понятные обучающие материалы для новичков.

Как работает:
📝 парсит GitHub-репозитории, создаёт базу знаний о проекте
📝 определяет ключевые абстракции и связи между компонентами
📝 превращает сложный код в пошаговые инструкции с визуализациями

➡️ Репозиторий: https://clc.to/DvEKOA
➡️ Проект: https://clc.to/2e9-tQ

💬 Как думаете, поможет ли такой инструмент упростить обучение и знакомство с новыми проектами?

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😳 Почему дата-сайентисты застревают на уровне «делаю отчеты и строю модельки»

Проблема большинства спецов: вы отлично знаете pandas, sklearn и даже можете настроить нейронку. Но когда дело доходит до создания автономных систем, которые принимают решения без человека — тупик.

При этом большинство курсов по ИИ либо для программистов (и там про API больше, чем про данные), либо академические (теория без практики).

🔥Поэтому мы запускаем курс «AI-агенты для DS-специалистов»

🧐 Что будет на курсе:
— Рассмотрим реализацию памяти в цепочках langchain и создадим пару простых агентов.
— Соберем полный пайплайн RAG-системы с оценкой качества.
— Изучим основные понятия мультиагентных систем (MAS) и библиотеки для их построения.
— Рассмотрим протокол MCP и фреймворк FastMCP, создадим end-to-end приложение.

🎁 В честь запуска курса мы дарим промокод PROGLIBAI на 10 000 ₽ на два других обучения:
Математика для Data Science
Алгоритмы и структуры данных

После этих курсов вы перестанете быть «тем, кто делает отчеты» и станете архитектором умных систем. А это совсем другой уровень зарплаты и востребованности.

👉 Успейте использовать промокод и забрать новый курс по приятной цене до 1 июня: https://clc.to/Cttu7A
Распространённые ошибки начинающих разработчиков на Python

Вы с высокой вероятностью узнаете себя хотя бы в одной из них.

Мы оформили несколько наиболее частых ошибок в виде карточек — наглядно, кратко и с примерами.

👀 Листайте — и избегайте типичных ловушек.

👉 Остальные ошибки и подробные разборы — по ссылке в полной статье: https://proglib.io/sh/Zb85rT2DNS

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
📌 Промт дня: рефакторинг Python-кода с применением SOLID-принципов

Когда код начинает обрастать логикой, классами и связями, особенно важно не просто «чтобы работало», а чтобы код был поддерживаемым, расширяемым и понятным.

Принципы SOLID помогают построить архитектуру, устойчивую к изменениям, и избавляют от «спагетти-кода» в долгосрочной перспективе.

Промт:
Проанализируй и отрефактори мой Python-код, применяя принципы SOLID. Убедись, что:
• Каждый класс и функция следуют принципу единственной ответственности (SRP);
• Код открыт для расширения, но закрыт для модификации (OCP);
• Подклассы могут заменить родительские классы без ошибок (LSP);
• Интерфейсы не перегружены и разбиты на специализированные (ISP);
• Зависимости внедряются через конструкторы или интерфейсы (DIP).

Также предложи:
• Как можно улучшить модульность и тестируемость;
• Какие абстракции можно ввести или упростить;
• Какие участки стоит покрыть юнит-тестами.

Используй лучшие практики Python, включая:
• abc или Protocol для абстракций,
• dataclasses для структур,
• typing для явной типизации,
• pytest и unittest.mock для тестов.


📎 Подходит для: middle/senior разработчиков, изучающих архитектуру и рефакторинг.

Библиотека питониста #буст
😱 Вся правда об увольнениях в IT в 2025-м

Пока все молчат о том, что происходит на рынке, мы решили выяснить реальную картину. Без прикрас и корпоративного пиара.

Но для этого нам нужна ваша помощь! Мы собираем данные от разработчиков, тестировщиков, менеджеров и всех, кто работает в ИТ, чтобы создать честное исследование о:

— реальных причинах массовых увольнений
— судьбе тех, кто остался за бортом IT-рынка
— том, сколько времени сейчас нужно на поиск работы

Почему это важно? Потому что сила в правде. Зная реальную ситуацию, вы сможете лучше понимать тренды рынка и планировать карьеру.

⚡️Пройдите опрос и помогите всему сообществу: https://clc.to/yJ5krg
😡 How to: не писать `__init__`

До Python 3.7, если вы хотели создать объект Coordinate(x=1, y=2), приходилось писать:
class Coordinate:
def __init__(self, x: int, y: int):
self.x = x
self.y = y


Это выглядело нормально. Но:
📍 если убрать класс из API — теряется типизация;
📍 если разрешить создавать объект без данных — получаем некорректные объекты;
📍 если задать поля по умолчанию — объект становится мутируемым;
📍 для валидации нужно усложнять структуру.

Главная проблема

__init__ запускает код при каждом создании объекта, что усложняет работу, особенно если нужны побочные действия (например, открытие файла).

Пример проблемного кода:
class FileReader:
def __init__(self, path: str):
self._fd = fileio.open(path)


Вроде удобно. Но:
📍 Вы не можете передать fd напрямую — нужно городить object.__new__.
📍 Тестировать сложно — надо мокать fileio.open.
📍 Если open становится async, вам уже не обойтись __init__.

Ключевая ошибка: связывать создание объекта с побочными эффектами (например, I/O) — это антипаттерн.

Современное решение

1⃣ Используйте @dataclass для объявления:
@dataclass
class FileReader:
_fd: int # или лучше: FileDescriptor


2⃣ Вынесите создание объекта в @classmethod:
from typing import Self

@dataclass
class FileReader:
_fd: int

@classmethod
def open(cls, path: str) -> Self:
return cls(fileio.open(path))


Теперь создавайте объект так: FileReader.open("file.txt"), а не через __init__.

Это решение поддерживает:
📍 чистую типизацию
📍 возможность перехода на async
📍 множественные фабрики (from_fd, from_buffer, from_resource, ...)

3⃣ Типизируйте примитивы через NewType:
from typing import NewType
FileDescriptor = NewType("FileDescriptor", int)


Используйте в классе:
@dataclass
class FileReader:
_fd: FileDescriptor

@classmethod
def open(cls, path: str) -> Self:
return cls(fileio.open(path)) # пусть возвращает FileDescriptor


Новая практика для классов в Python:
1. Используйте @dataclass.
2. Не пишите __init__ вручную.
3. Добавляйте @classmethod-фабрики (.open(), .from_config(), .from_env()).
4. Используйте NewType.

Это даёт чистый, тестируемый, удобный и расширяемый код.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👾 AI-агенты — настоящее, о котором все говорят

На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉

Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи!

На обучении вы соберете полноценные LLM-системы с учётом особенностей доменных областей, получите hands-on навыки RAG, Crew-AI / Autogen / LangGraph и агентов.

🎓 В рамках курса вы научитесь:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Разберете реальные кейсы и научитесь применять похожие подходы в разных доменных областях, получите фундамент для уверенного прохождения NLP system design интервью и перехода на следующий грейд.

Старт 5 июля, а при оплате до 1 июня действует дополнительная скидка и бонус — эксклюзивный лонгрид по API и ML от Proglib.

Начните осваивать тему уже сейчас 👉 https://clc.to/Cttu7A
Библиотека питониста | Python, Django, Flask pinned «👾 AI-агенты — настоящее, о котором все говорят На днях мы анонсировали наш новый курс AI-агенты для DS-специалистов 🎉 Это продвинутая программа для тех, кто хочет получить прикладной опыт с LLM и решать сложные задачи! На обучении вы соберете полноценные…»
💭 Холивар: f-строки vs .format() vs %

Python предлагает сразу три способа форматирования строк — и у каждого есть свои фанаты.

Разбираемся по фактам:

🔎 f-строки (Python 3.6+):
name = "Alice"
age = 30
print(f"{name} is {age} years old.")


читаемо, лаконично
быстрее при выполнении
🙅‍♂️ не работает в Python < 3.6
🙅‍♂️ неудобно при кавычках внутри строк

🔎 .format():
name = "Alice"
age = 30
print("{} is {} years old.".format(name, age))


кросс-версионно (Python 2.7+ и 3.x)
хорош для шаблонов и повторов
🙅‍♂️ длиннее, особенно с ключами
🙅‍♂️ легко запутаться с порядком аргументов

🔎 Cтарый стиль %:
name = "Alice"
age = 30
print("%s is %d years old." % (name, age))


кратко для простых случаев
работает даже в старом Python
🙅‍♂️ типобезопасность на минималках
🙅‍♂️ легко сломать, особенно при refactoring’е

Выбор зависит от контекста:
🔘 f-строки — выбор для современного Python-кода
🔘 .format() — для совместимости и шаблонов
🔘 % — для ностальгирующих и логов

А вы что используете чаще всего?

❤️ f-строки — будущее уже здесь
👍 .format() / % — стабильность и привычка

P.S. Инструкция, как оставить коммент

Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/05/30 05:43:57
Back to Top
HTML Embed Code: